package com.vrp3d.service;

import com.vrp3d.domain.dto.booth.*;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * 展位
 *
 * @author vrp3d
 */
public interface BoothService extends AbsService {

    /**
     * 预览模型
     *
     * @param fileName
     * @return
     */
    String previewTheModel(String fileName);

    /**
     * 展位_自定义瓷器id
     *
     * @param dto
     * @return
     */
    void modifyPorcelainId(BoothPorcelainIdDTO dto);

    /**
     * 展位_作品名称
     *
     * @param dto
     */
    void modifyWorkName(BoothWorkNameDTO dto);

    /**
     * 展位_展品类别
     *
     * @param dto
     */
    void modifyExhibitsRange(BoothExhibitsRangeDTO dto);

    /**
     * 展位_制作标准
     *
     * @param dto
     */
    void modifyProductionStandard(BoothProductionStandardDTO dto);

    /**
     * 展位_作者名称
     *
     * @param dto
     */
    void modifyAuthorName(BoothAuthorNameDTO dto);

    /**
     * 展位_器型
     *
     * @param dto
     */
    void modifyShape(BoothShapeDTO dto);

    /**
     * 展位_图案
     *
     * @param dto
     */
    void modifyPattern(BoothPatternDTO dto);

    /**
     * 展位_工艺
     *
     * @param dto
     */
    void modifyTechnology(BoothTechnologyDTO dto);

    /**
     * 展位_分类
     *
     * @param dto
     */
    void modifyType(BoothTypeDTO dto);

    /**
     * 展位_用料
     *
     * @param dto
     */
    void modifyMaterial(BoothMaterialDTO dto);

    /**
     * 展位_高度
     *
     * @param dto
     */
    void modifyHighly(BoothHighlyDTO dto);

    /**
     * 展位_口径
     *
     * @param dto
     */
    void modifyCal(BoothCalDTO dto);

    /**
     * 展位_肚径
     *
     * @param dto
     */
    void modifyBellySize(BoothBellySizeDTO dto);

    /**
     * 展位_底径
     *
     * @param dto
     */
    void modifyBottomDiameter(BoothBottomDiameterDTO dto);

    /**
     * 展位_配置
     *
     * @param dto
     */
    void modifyConfiguration(BoothConfigurationDTO dto);

    /**
     * 展位_工艺特色
     *
     * @param dto
     */
    void modifyProcessCharacteristic(BoothProcessCharacteristicDTO dto);

    /**
     * 展位_艺术特色
     *
     * @param dto
     */
    void modifyArtisticFeatures(BoothArtisticFeaturesDTO dto);

    /**
     * 展位_送展人
     *
     * @param dto
     */
    void modifyTransportation(BoothTransportationDTO dto);

    /**
     * 展位_送展人电话
     *
     * @param dto
     */
    void modifyPhone(BoothPhoneDTO dto);

    /**
     * 展位_对接人员
     *
     * @param dto
     */
    void modifyDockingPersonal(BoothDockingPersonalDTO dto);

    /**
     * 展位_售价
     *
     * @param dto
     */
    void modifyPrice(BoothPriceDTO dto);

    /**
     * 展位_介绍
     *
     * @param dto
     */
    void modifyIntroduction(BoothIntroductionDTO dto);

    /**
     * 展位_描述
     *
     * @param dto
     */
    void modifyRemarks(BoothRemarksDTO dto);

    /**
     * 展位_音频
     *
     * @param dto
     */
    void modifyAudio(BoothAudioDTO dto);

    /**
     * 展位_模型
     *
     * @param dto
     */
    void modifyModel(BoothModelDTO dto);

    /**
     * 展位_图片
     *
     * @param dto
     */
    void modifyPicture(BoothPictureDTO dto);

    /**
     * 根据展位id和展位位置查询展位信息
     *
     * @param showroomId
     * @param boothOrder
     * @return
     */
    BoothDTO selectBoothByShowroomIdAndBoothOrder(Integer showroomId, Integer boothOrder);

    /**
     * 回显展位上是否有信息
     *
     * @param showroomId
     * @return
     */
    List<Integer> echoWhetherThereIsInformationOnTheBooth(Integer showroomId);

    /**
     * 据展厅id查询,展厅内展位信息_前台,无需登录
     *
     * @param showroomId
     * @param request
     * @return
     */
    List<BoothFrontDTO> selectShowroomAllBoothByShowroomId(Integer showroomId, HttpServletRequest request);

    /**
     * 回显展位上是否有信息(返回结果:展位上有信息存在的展位位置集合)_前台
     *
     * @param showroomId
     * @return
     */
    List<Integer> echoWhetherThereIsInformationOnTheBoothFront(Integer showroomId);

    /**
     * 根据展位id和展位位置查询展位信息_前台
     *
     * @param showroomId
     * @param boothOrder
     * @param request
     * @return
     */
    BoothDTO selectBoothByShowroomIdAndBoothOrderFront(Integer showroomId, Integer boothOrder, HttpServletRequest request);
}
